The present invention relates to a system and method for multimedia data compression and transmission, thereby enabling a large amount of multimedia information to be rapidly transmitted for display by a remote display device with low bandwidth requirements. Such multimedia information may optionally include video stream data and/or audio stream data, for example.
Computers are becoming more popular as home entertainment devices and for the organization and display of information for the consumer. In addition to the functions of earlier computers, computers today can play music stored in a variety of formats, including files stored in the MP3 format on a CD, on magnetic storage medium or on the DVD storage medium, as well as displaying video streams and enabling xe2x80x9cchatsxe2x80x9d to take place through the Internet. In addition, consumers can now perform a variety of tasks xe2x80x9conlinexe2x80x9d through the computer, such as order groceries from the local supermarket, which are then delivered to the house of the consumer. These applications have the advantage of being more efficient and of saving the consumer time.
The computer itself has been sufficiently adapted for the household environment and for the new multi-media tasks, except for portability. The typical household computer is a xe2x80x9cdesktopxe2x80x9d computer which is not very portable. However, certain applications such as playing and managing a musical database or otherwise interacting with the computer from a remote location would be more efficient if the computer could easily be moved from room to room. Thus, desktop computers are not sufficiently portable for such tasks.
A more useful solution would enable the consumer to view the display of the monitor of the computer for video data, and/or to also be able to hear the audio data, for interacting with the computer anywhere in the house, as a remote application. The entire computer would not need to be moved about from room to room, but only those portions which are required for controlling the computer and for displaying information on the monitor. Unfortunately, those remote computing solutions which are available only enable partial control, and do not permit portions of the computer to be operated in a fully remote and independent fashion, while still remaining tied to the CPU of the computer but without the necessity for an additional network connection.
The remote computing device disclosed and claimed in pending U.S. patent application Ser. No. 09/197,441, incorporated by reference as if fully set forth herein, overcomes these problems by providing a fully remote, independently operatable device for displaying information on the monitor of a remote mobile platform and for controlling the CPU of the remote computer. However, in order to be fully practicable and realizable, the disclosed device must be able to receive video data sufficiently rapidly in order for the monitor display to be rapidly refreshed, and to receive the audio stream data rapidly for playing such data through speakers in a responsive manner, without requiring the user to wait for long periods of time between requesting the display of a particular type of information and the actual display thereof.
Currently available technologies for transmitting such video data to, and receiving such video data by, a remote monitor, particularly for such a device which is not connected to the controlling CPU through a wire or cable network, are limited in terms of the amount of bandwidth. Such a limitation is typically 100-1,600 Mbps. Therefore, multimedia data compression methods are required in order to compress a larger amount of data into the bandwidth available for transmission. However, current multimedia data compression methods are most efficient when adjusted for the type of multimedia data being transmitted. If a particular device routinely transmits a certain type of multimedia data, then the compression method is fairly simple to determine, as this method could be adjusted to the type of multimedia data. For devices and applications in which multiple types of multimedia data are transmitted, the compression method must be determined separately for each type of data.
The remote monitor of pending U.S. patent application Ser. No. 09/197,441 is an example of a device which must routinely receive multiple different types of video data. All of the display data which is received by this remote monitor is video data, but could range from a display of a GUI (graphical user interface) for a word processing software program, to streaming video data for a DVD movie. Each different type of display data therefore requires a different type of video data compression method for the most efficient compression of the transmitted data.
Currently, each multimedia data compression method must be manually adjusted for the particular type of multimedia data. Clearly, such manual adjustments are not suitable for the remote monitor device, which may rapidly display multiple types of multimedia data. Therefore, a better solution would enable the type of multimedia data compression method to be automatically selected according to the type of multimedia data which is to be displayed on the remote monitor. Unfortunately, such a solution is not currently available.
Therefore, there is an unmet need for, and it would be highly useful to have, a method and a system for automatically selecting a particular type of multimedia data compression method, according to the type of multimedia data which is to be transmitted, such that manual intervention is not required, and such that the multimedia data is efficiently compressed.
The present invention is of a system and method for rapid multimedia data compression and transmission for a wireless remote monitor. The method of multimedia data compression according to the present invention adjusts the compression method according to the type of software application which generated the multimedia data, and hence according to the characteristics of the data itself. Preferably, the type of multimedia data compression is selected by a profile manager, which detects the characteristics of the multimedia data to determine the character of the data, and then which selects the multimedia data compression profile, including the compression method according to the character of the data.
According to the present invention, there is provided a method for compressing multimedia data, the steps of the method being performed by a data processor, the method comprising the steps of: (a) providing a plurality of different multimedia data compression procedures, each of the compression procedures being associated with a profile of characteristics of the multimedia data; (b) receiving the multimedia data to be compressed to form received data; (c) determining at least one characteristic of the received data; (d) selecting a profile according to the at least one characteristic; and (e) compressing the received data according to a compression procedure associated with the profile.
According to another embodiment of the present invention, there is provided a method for compressing multimedia data, the steps of the method being performed by a data processor, the method comprising the steps of: (a) analyzing each type of multimedia data to determine at least one characteristic of each type of multimedia data; (b) associating one of a plurality of different multimedia data compression procedures with each type of multimedia data according to the at least one characteristic for optimal compression of the multimedia data to form the compression profile; (c) receiving the multimedia data for compression to form compressed data; and (d) selecting the compression profile for compressing the compressed data.
Hereinafter, the term xe2x80x9ccomputerxe2x80x9d indicates any type of electronic device which is capable of performing computations, including, but not limited to, personal computers (PC) having an operating system such as DOS, Windows(trademark), OS/2(trademark) or Linux; Macintosh(trademark) computers; computers having JAVA(trademark)-OS or BeOS(trademark) as the operating system; thin client computers; and graphical workstations such as the computers of Sun Microsystems(trademark) and Silicon Graphics(trademark), and other computers having some version of the UNIX operating system such as AIX(trademark) or SOLARIS(trademark) of Sun Microsystems(trademark); a PalmPilot(trademark), a PilotPC(trademark), or any other handheld device, portable device for data processing such as a PDA (personal data assistant), or embedded system or device; or any other known and available operating system and computational device. Hereinafter, the term xe2x80x9cWindows(trademark)xe2x80x9d includes but is not limited to Windows95(trademark), Windows 3.x(trademark) in which xe2x80x9cxxe2x80x9d is an integer such as xe2x80x9c1xe2x80x9d, Windows NT(trademark), Windows98(trademark), Windows CE(trademark), Windows2000(trademark), and any upgraded versions of these operating systems by Microsoft Corp. (USA).
The method of the present invention could also be described as a plurality of instructions being performed by a data processor, such that the method of the present invention could be implemented as hardware, software, firmware or a combination thereof. For the present invention, a software application could be written in substantially any suitable programming language, which could easily be selected by one of ordinary skill in the art. The programming language chosen should be compatible with the computer according to which the software application is executed. Examples of suitable programming languages include, but are not limited to, C, C++ and Java.
Hereinafter, the term xe2x80x9cCPUxe2x80x9d (central processing unit) includes those portions of the computer which control the remainder of the computer, including the peripherals. As defined herein, the CPU includes the control unit and the arithmetic and logic unit (ALU), as well as other components such as memory and temporary buffers which are required for the operation of the control unit and the ALU. Other types of microprocessors or data processors are specifically excluded from the term xe2x80x9cCPUxe2x80x9d as herein defined.
Hereinafter, the term xe2x80x9cspeakerxe2x80x9d is defined to include any type of device for producing an audible sound stream for a user, including an earphone.
Hereinafter, a xe2x80x9clocally connectablexe2x80x9d video card is a video card which is capable of controlling a monitor or other display device which is attached to the computer in which the video card is located, regardless of whether the computer actually has such a monitor or other display device attached.